package br.com.aeso.bancoCurriculo.controller.usuario;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

import br.com.aeso.bancoCurriculo.controller.util.ComumController;
import br.com.aeso.bancoCurriculo.model.comum.excecoes.ProjetoException;
import br.com.aeso.bancoCurriculo.model.usuario.Usuario;
import br.com.aeso.bancoCurriculo.model.usuario.impl.UsuarioImpl;
import br.com.aeso.bancoCurriculo.model.util.Constantes;
import br.com.aeso.bancoCurriculo.model.util.Fachada;

/**
 * @author Giulliano Ferreira
 * 
 */
@ManagedBean
public class UsuarioController extends ComumController {

    private Fachada fachada;
    private UsuarioImpl usuario;
    private String login;
    private String senha;

    public UsuarioController() throws ProjetoException {
	fachada = Fachada.getInstancia();
	usuario = (UsuarioImpl) fachada.criarUsuario();
    }

    public void setUsuario(Usuario usuario) {
	this.usuario = (UsuarioImpl) usuario;
    }

    public Usuario getUsuario() {
	return usuario;
    }

    public void cadastrarUsuario() {
	try {
	    fachada.inserirUsuario(usuario);
	    this.redirecionarTela(Constantes.ARQUIVO_XHTML_INDEX);
	}
	catch (ProjetoException e) {
	    FacesContext context = FacesContext.getCurrentInstance();
	    FacesMessage message = new FacesMessage(e.getMessage());
	    context.addMessage("cadastro", message);
	    this.redirecionarTela(Constantes.ARQUIVO_XHTML_SALVAR_USUARIO);
	}
    }
}